package com.yeskery.nut.extend.mcp.server;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * MCP会话SSE输出持有类
 * @author sprout
 * 2025-04-17 10:50
 */
public class McpSessionManager {

    /** 会话客户端持有类 */
    private final Map<String, McpServerSession> sessionMap = new ConcurrentHashMap<>();

    /**
     * 添加会话客户端
     * @param clientId 会话客户端id
     * @param serverSession 服务端会话
     */
    public void putClient(String clientId, McpServerSession serverSession) {
        sessionMap.put(clientId, serverSession);
    }

    /**
     * 移除会话客户端
     * @param clientId 会话客户端id
     */
    public void removeClient(String clientId) {
        sessionMap.remove(clientId);
    }

    /**
     * 获取会话客户端服务器会话
     * @param clientId 会话客户端id
     * @return 会话客户端服务器会话
     */
    public McpServerSession getClientSeverSession(String clientId) {
        return sessionMap.get(clientId);
    }
}
